home *** CD-ROM | disk | FTP | other *** search
- MODULE Empty;
-
- (* Empty.mod - CLI-Befehl, der überprüft ob die als Argument angegeben
- * Datei leer ist (die Länge 0) hat.
- * Version : 1.1 (2. Februar 1993)
- * Compiler : M2Amiga V4.107d
- * m2c -zyned Empty.mod
- * m2l -cdr Empty.obj
- * Autor : Fin Schuppenhauer, Braußpark 10, W-2000 Hamburg 26
- * (ab 1. Juli 1993: Fin S., Braußpark 10, D-20537 Hamburg)
- * Copyright : © 1993 by Fin Schuppenhauer
- * Diese Programm darf nur zusammen mit den Dateien
- * Empty.mod, Empty.dok, Empty.readme und Empty auf
- * elektronischem Wege (auch gepackt) oder auf Public
- * Domain-Disk vertrieben werden. Eine kommerzielle
- * Verbreitung ist ohne Genehmigung des Autors untersagt.
- * Dieses Programm darf beliebig verändert werden, vor-
- * ausgesetzt das Copyright bleibt erhalten. Für die
- * daraus resultierenden Dateien gilt gleiches.
- * Sonstiges : Fehlerberichte, Wünsche, Kritik, Geschenke, Mitleids-
- * bekundungen und ähnliches dürfen an obige Adresse
- * geschickt werden. Drohungen, Brief- und Paketbomben
- * und ähnliche psychisch-physisch schädigende Mitteil-
- * ungen bitte an: meinen derzeitigen Feind (der Name
- * von ihm/ihr ist an Deiner Haustür zu finden, die
- * Adresse im Telefonbuch.
- * Syntax : siehe Empty.dok
- * Geschichte: 1.0 (01-Feb-93) Erste, sofort funktionsfähige Version
- * unter Verwendung des FileSystem-Modul. (niemals
- * veröffentlicht)
- * 1.1 (02-Feb-93) FileSystem durch DosD/L ersetzt.
- * Fehlerroutinen eingebaut.
- *)
-
- IMPORT dd:DosD, dl:DosL;
- FROM Arguments IMPORT NumArgs, GetArg;
- FROM Arts IMPORT returnVal, Terminate;
- FROM String IMPORT Length;
- FROM SYSTEM IMPORT ADR;
-
- (*$ CopyDyn := FALSE *)
- PROCEDURE Exit (msg : ARRAY OF CHAR);
- VAR output : dd.FileHandlePtr;
- err : LONGINT;
- BEGIN
- output := dl.Output();
- (*$ StackParms:=TRUE *)
- err := dl.Write(output, ADR(msg), Length(msg));
- (*$ POP StackParms *)
- Terminate();
- END Exit;
-
- PROCEDURE ShowTemplate;
- BEGIN
- Exit ("EMPTY FILE/A\n");
- END ShowTemplate;
-
- TYPE String=ARRAY [0..79] OF CHAR;
- VAR version :=String{"$VER: empty 1.1 (2.2.93) © 1993 by Fin Schuppenhauer, PUBLIC DOMAIN
- "};
-
- VAR args, (* Anzahl der Argumente *)
- len : INTEGER; (* für GetArtg() *)
- file : dd.FileLockPtr; (* Lock auf Datei *)
- fileInfo : dd.FileInfoBlock; (* Infos über <file> *)
- filename : ARRAY [0..255] OF CHAR; (* Name der Datei (Argument) *)
- BEGIN
- returnVal := dd.ok;
- args := NumArgs();
- IF args=1 THEN
- GetArg (1, filename, len);
- IF filename[0]="?" THEN
- ShowTemplate;
- Exit ("Ok.\n");
- END;
-
- file := dl.Lock(ADR(filename), dd.readOnly);
- IF dl.IoErr()#0 THEN Exit("File not found (or other IO-Error).\n"); END;
- IF dl.Examine(file, ADR(fileInfo)) THEN
- IF fileInfo.size=0 THEN returnVal := dd.warn; END;
- ELSE
- Exit ("Examine-Error.\n");
- END;
- dl.UnLock (file);
- ELSE
- Exit ("Bad args.\n");
- END;
-
- (* fs.Lookup (file, filename, 1024, FALSE);
- IF file.res=fs.done THEN
- fs.Length(file, length);
- IF length=0 THEN
- returnVal := dd.warn;
- END;
- END;
- END;*)
- END Empty.
-